LDRA Testbed ® Code Review Report

Group : PVM-tasker






Overall Result: FAIL






Report Production Report Configuration Analysis phases
  • C/C++ LDRA Testbed Version: 8.1.0
  • Config. File: C:\Testbed_CCPP_810\c\creport.dat
  • Produced On: Fri Sep 04 2009 at 15:16:41
  • Penalty File: C:\Testbed_CCPP_810\c\cpen.dat
  • Report Level: Summary Report
  • Procedures Reported: Fails Only
  • Programming Standards Model: CERT
  • Line Numbers refer to: Original Source File
  • Violation Details: Violations Only
  • Reporting Scope: Full analysis scope
  • Static: Yes
  • Complexity: No
  • Static Data Flow: No
  • Information Flow: No
  • Cross Reference: No


Contents

Overall Quality Summary
Report on Program Components
Key to Terms





Overall Quality Summary



Totals of Violations for Selected Quality Standards

'-' indicates required Analysis Phase results are not yet available.
'Off' indicates that the standard is switched off in the Penalty File (<lang>pen.dat).
'MR'indicates that the standard is Misra Restricted.

Number of Violations LDRA Code (M) Mandatory Standards CERT Code
11
9 S CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
0
20 S CERT DCL31-C
3
30 S CERT EXP30-C,EXP31-C
-
5 D CERT EXP33-C
0
39 S CERT FLP30-C
0
43 S CERT ENV33-C,SIG32-C
0
47 S CERT ARR30-C
3
71 S CERT DCL30-C,MEM36-C
0
86 S CERT ERR31-C
17
93 S CERT INT01-C,INT02-C,INT07-C
1
94 S CERT EXP11-C,EXP36-C,INT11-C
MR
98 S CERT EXP37-C
-
17 D CERT DCL32-C
-
19 D CERT EXP37-C
-
20 D CERT DCL31-C,ERR30-C
-
24 D CERT DCL31-C
-
1 X CERT ARR31-C
0
134 S CERT EXP10-C,EXP30-C
-
35 D CERT EXP02-C,EXP10-C,EXP30-C
0
1 Q CERT EXP02-C,EXP10-C,EXP30-C
6
157 S CERT STR05-C,STR30-C
50
170 S CERT DCL07-C,EXP37-C
-
41 D CERT EXP37-C
-
42 D CERT DCL30-C
-
43 D CERT INT32-C,INT33-C
0
248 S CERT INT33-C
-
45 D CERT EXP08-C,EXP34-C
-
49 D CERT FIO42-C
1
326 S CERT DCL31-C
0
344 S CERT EXP32-C
-
51 D CERT MEM30-C
0
355 S CERT DCL32-C
0
403 S CERT INT34-C
0
433 S CERT INT02-C,INT31-C
0
434 S CERT INT02-C,INT31-C,STR34-C
0
442 S CERT INT02-C,FLP33-C
0
443 S CERT INT02-C,FLP33-C
0
444 S CERT FLP33-C
0
456 S CERT MSC31-C
-
57 D CERT EXP33-C
14
476 S CERT ARR30-C
0
480 S CERT DCL33-C
0
483 S CERT MEM34-C
0
484 S CERT MEM31-C
0
487 S CERT MEM35-C
0
489 S CERT DCL33-C,FIO43-C
0
493 S CERT INT32-C
0
494 S CERT INT32-C
28
496 S CERT EXP37-C
-
61 X CERT DCL32-C

Number of Violations LDRA Code (M) Mandatory Standards CERT Code
-
64 X CERT ARR30-C
-
69 D CERT EXP33-C
0
562 S Use of ++,-- or = in macro parameters. CERT PRE31-C
-
75 D CERT FIO31-C
-
68 X CERT DCL00-C
-
69 X CERT ARR30-C
0
573 S Macro concatenation of uni char names. CERT PRE30-C
0
575 S Linkage differs from previous declaration. CERT DCL36-C
0
576 S Function pointer is of wrong type. CERT DCL35-C,EXP08-C


Number of Violations LDRA Code (C) Checking (Mandatory) Standards CERT Code

No Standards have been set as Checking.

Number of Violations LDRA Code (O) Optional Standards CERT Code
1 5 S CERT MSC03-C
7 12 S CERT MSC01-C
0
21 S CERT DCL07-C
-
1 D CERT MSC13-C
-
4 D CERT MSC13-C
-
7 D CERT MSC13-C
-
8 D CERT MSC08-C
-
15 D CERT MSC13-C
0
41 S CERT DCL10-C,DCL11-C
10 44 S CERT DCL03-C,INT06-C
0
50 S CERT INT13-C
0
52 S CERT INT02-C
0
54 S CERT EXP06-C
0
57 S CERT MSC03-C,MSC12-C
2 58 S CERT MSC03-C
0
59 S CERT MSC03-C
0
73 S CERT INT12-C
5 79 S CERT PRE03-C
0
81 S CERT PRE07-C
0
85 S CERT INT09-C
2 95 S CERT EXP11-C
0
99 S CERT MSC02-C
0
101 S CERT INT02-C
-
27 D CERT DCL15-C
1 113 S CERT MSC09-C
8 77 S CERT PRE02-C
9 78 S CERT PRE01-C,PRE02-C
0
96 S CERT INT02-C
0
115 S CERT STR03-C
0
119 S CERT MSC04-C
0
120 S CERT INT13-C
0
125 S CERT PRE05-C
0
131 S CERT DCL01-C
5 132 S CERT MSC02-C
0
133 S CERT EXP02-C
7 135 S CERT DCL07-C
0
139 S CERT MSC07-C
0
140 S CERT MSC07-C
0
176 S CERT MSC10-C
2 177 S CERT DCL04-C
1 200 S CERT DCL00-C
31 201 S CERT DCL06-C,EXP07-C,EXP09-C
0
203 S CERT EXP05-C
0
218 S CERT PRE04-C
0
243 S CERT PRE06-C
13 273 S CERT PRE03-C
0
299 S CERT DCL05-C
0
1 J CERT MSC07-C
4 302 S CERT MSC04-C
0
329 S CERT INT07-C

Number of Violations LDRA Code (O) Optional Standards CERT Code
2 331 S CERT INT13-C
0
332 S CERT INT02-C
0
334 S CERT INT02-C
1 340 S CERT PRE00-C
2 352 S CERT DCL12-C
-
50 D CERT MEM00-C
4 361 S CERT EXP00-C
0
376 S CERT MSC10-C
2 381 S CERT DCL05-C
2 382 S CERT EXP12-C
-
53 D CERT EXP08-C
0
387 S CERT DCL08-C
8 400 S CERT EXP03-C
0
401 S CERT ARR00-C
0
406 S CERT EXP02-C
-
54 D CERT EXP08-C
0
408 S CERT EXP02-C
0
432 S CERT INT07-C
0
438 S CERT EXP08-C
0
439 S CERT INT15-C
0
440 S CERT INT15-C
0
446 S CERT INT02-C
0
452 S CERT INT02-C
0
457 S CERT INT02-C
0
458 S CERT INT02-C,INT07-C
0
486 S CERT FIO00-C
0
488 S CERT INT08-C
0
491 S CERT INT02-C
-
61 D CERT DCL15-C
-
62 D CERT DCL13-C
0
515 S CERT DCL04-C
-
65 D CERT MSC12-C
-
70 D CERT MSC12-C
0
553 S Function and proto should both be static. CERT DCL15-C
-
72 D CERT EXP10-C
-
67 X CERT DCL02-C
-
74 D CERT EXP10-C
0
568 S #include "filename" uses standard library name. CERT PRE04-C
0
577 S Sizeof argument is a pointer. CERT EXP01-C
0
578 S Sizeof used in arithmetic expression. CERT EXP03-C
-
78 D CERT DCL00-C
0
584 S Remainder of % op could be negative. CERT INT10-C
0
585 S Bitwise and arith operations on same data. CERT INT14-C
0
586 S Format is not %j for user defined type. CERT INT15-C


Number of Mandatory Standards checked 39
Number of Checking Standards checked 0
Number of Optional Standards checked 77
Total Standards checked 116






OVERALL RESULT: FAIL




Out of 11 program components, 1 (9.09 %) passes ( of which 1 conditionally passes ) and 10 fail ( of which 0 fail only because of insufficient comments )

Procedure Results

Quality Result   Procedure   Source File   Unique Violations    
           
Conditional Pass Global Program
FAIL task_init tasker.c 6 -
FAIL task_new tasker.c 10 -
FAIL task_free tasker.c 8 -
FAIL task_find tasker.c 4 -
FAIL task_findpid tasker.c 4 -
FAIL task_dump tasker.c 1 -
FAIL reap tasker.c 14 -
FAIL main tasker.c 23 -
FAIL startem tasker.c 17 -
FAIL dofork tasker.c 14 -


Global Information

Source Files in Group

Name Last Modification Date
D:\Code\SAMATE\SATE2009\sate2009_C_test_cases\c\pvm\pvm3\tasker\tasker.c Wed Jan 28 12:14:29 1998




Global Basic Information

Number of procedures: 10
Number of locally uncalled procedures: 3
Number of reformatted executable lines: 319
Number of lines of comments: 99



Summary Report on all Program Components



Globals / code outside procedures - Conditional Pass

Standards Violation Summary - All files

Code File: Src Line Violation Standard
O tasker.c: 3 Non standard character $ in source. CERT MSC09-C
O tasker.c: 66 Found #define. CERT PRE03-C
O tasker.c: 67 Found #define. CERT PRE03-C
O tasker.c: 68 Found #define. CERT PRE03-C
O tasker.c: 71 Found #define. CERT PRE03-C
O tasker.c: 71 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 71 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 72 Found #define. CERT PRE03-C
O tasker.c: 72 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 72 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 73 Found #define. CERT PRE03-C
O tasker.c: 73 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 73 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 76 Found #define. CERT PRE03-C
O tasker.c: 76 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 76 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 76 Macro contains unacceptable items CERT PRE03-C
O tasker.c: 78 Found #define. CERT PRE03-C
O tasker.c: 78 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 78 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 78 Macro contains unacceptable items CERT PRE03-C
O tasker.c: 80 Found #define. CERT PRE03-C
O tasker.c: 80 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 80 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 80 Macro contains unacceptable items CERT PRE03-C
O tasker.c: 83 Found #define. CERT PRE03-C
O tasker.c: 83 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 83 Use of banned function or variable. CERT DCL03-C,INT06-C
O tasker.c: 83 Use of function like macro. CERT PRE00-C
O tasker.c: 83 Macro contains unacceptable items CERT PRE03-C
O tasker.c: 84 Found #define. CERT PRE03-C
O tasker.c: 84 Use of banned function or variable. CERT DCL03-C,INT06-C
O tasker.c: 84 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 84 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 85 Found #define. CERT PRE03-C
O tasker.c: 85 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O tasker.c: 85 Macro replacement list needs parentheses. CERT PRE02-C
O tasker.c: 85 Macro contains unacceptable items CERT PRE03-C
O tasker.c: 88 Found #define. CERT PRE03-C
O tasker.c: 88 Define used for numeric constant. CERT DCL00-C
O tasker.c: 96 Declaration of type not in header file. CERT DCL12-C
O tasker.c: 96 Enum, struct or union not typedeffed. CERT DCL05-C
O tasker.c: 107 Declaration of type not in header file. CERT DCL12-C
O tasker.c: 107 Enum, struct or union not typedeffed. CERT DCL05-C
O tasker.c: 108 Identifier not declared on new line. CERT DCL04-C
O tasker.c: 382 Comment possibly contains code CERT MSC04-C

[ Top of Report | Key to Terms | Procedure Table | Contents ]






task_init
(127 to 134 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 130 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 131 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






task_new
(142 to 156 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 148 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 148 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 149 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 155 Pointer assignment to wider scope. CERT DCL30-C,MEM36-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






task_free
(159 to 165 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 163 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 164 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






task_find
(173 to 183 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 181 Pointer assignment to wider scope. CERT DCL30-C,MEM36-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






task_findpid
(191 to 201 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 199 Pointer assignment to wider scope. CERT DCL30-C,MEM36-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






task_dump
(204 to 211 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 210 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






reap
(224 to 266 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 243 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 243 function call with no prior declaration. CERT EXP37-C
M 243 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 255 Array index not unsigned. CERT ARR30-C
M 255 Value is not of appropriate type. : unsigned int int deads [ wdead CERT INT01-C,INT02-C,INT07-C
M 256 Array index not unsigned. CERT ARR30-C
M 256 Value is not of appropriate type. : unsigned int int deads [ wdead CERT INT01-C,INT02-C,INT07-C
M 258 Array index not unsigned. CERT ARR30-C
M 258 Value is not of appropriate type. : unsigned int int deads [ wdead CERT INT01-C,INT02-C,INT07-C
M 259 Array index not unsigned. CERT ARR30-C
M 259 Value is not of appropriate type. : unsigned int int deads [ wdead CERT INT01-C,INT02-C,INT07-C
M 260 Deprecated usage of ++ or -- operators found. CERT EXP30-C,EXP31-C
M 260 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






main
(269 to 368 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 269 Declaration is missing type. CERT DCL31-C
M 285 function call with no prior declaration. CERT EXP37-C
M 285 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 287 function call with no prior declaration. CERT EXP37-C
M 287 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 289 function call with no prior declaration. CERT EXP37-C
M 289 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 291 function call with no prior declaration. CERT EXP37-C
M 291 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 295 function call with no prior declaration. CERT EXP37-C
M 295 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 296 function call with no prior declaration. CERT EXP37-C
M 296 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 297 function call with no prior declaration. CERT EXP37-C
M 297 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 302 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 303 function call with no prior declaration. CERT EXP37-C
M 303 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 306 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 324 function call with no prior declaration. CERT EXP37-C
M 324 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 324 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 329 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 329 Array index not unsigned. CERT ARR30-C
M 329 Value is not of appropriate type. : unsigned int int deads [ rdead CERT INT01-C,INT02-C,INT07-C
M 331 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 333 function call with no prior declaration. CERT EXP37-C
M 333 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 333 Array index not unsigned. CERT ARR30-C
M 333 Value is not of appropriate type. : unsigned int int pvm_packf ( "%+ %d %d %d %d %d %d" , PvmDataFoo , tp -> t_tid , deads [ rdead CERT INT01-C,INT02-C,INT07-C
M 333 Value is not of appropriate type. : unsigned int int pvm_packf ( "%+ %d %d %d %d %d %d" , PvmDataFoo , tp -> t_tid , deads [ rdead ].dd_es , ( int ) deads [ rdead CERT INT01-C,INT02-C,INT07-C
M 333 Value is not of appropriate type. : unsigned int int pvm_packf ( "%+ %d %d %d %d %d %d" , PvmDataFoo , tp -> t_tid , deads [ rdead ].dd_es , ( int ) deads [ rdead ].dd_ut.tv_sec , ( int ) deads [ rdead CERT INT01-C,INT02-C,INT07-C
M 338 Array index not unsigned. CERT ARR30-C
M 338 Value is not of appropriate type. : unsigned int int .dd_ut.tv_usec , ( int ) deads [ rdead CERT INT01-C,INT02-C,INT07-C
M 338 Value is not of appropriate type. : unsigned int int .dd_ut.tv_usec , ( int ) deads [ rdead ].dd_st.tv_sec , ( int ) deads [ rdead CERT INT01-C,INT02-C,INT07-C
M 341 function call with no prior declaration. CERT EXP37-C
M 341 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 344 Deprecated usage of ++ or -- operators found. CERT EXP30-C,EXP31-C
M 344 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 350 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 350 function call with no prior declaration. CERT EXP37-C
M 350 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 351 function call with no prior declaration. CERT EXP37-C
M 351 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 353 function call with no prior declaration. CERT EXP37-C
M 356 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 365 function call with no prior declaration. CERT EXP37-C
M 365 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 366 function call with no prior declaration. CERT EXP37-C
M 366 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C

Code Line Violation Standard


[ Top of Report | Key to Terms | Procedure Table | Contents ]






startem
(386 to 434 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 400 function call with no prior declaration. CERT EXP37-C
M 400 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 401 Modification of string literal. CERT STR05-C,STR30-C
M 401 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 402 Modification of string literal. CERT STR05-C,STR30-C
M 402 Array index not unsigned. CERT ARR30-C
M 402 Value is not of appropriate type. : unsigned int int av [ ac CERT INT01-C,INT02-C,INT07-C
M 404 function call with no prior declaration. CERT EXP37-C
M 404 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 405 Modification of string literal. CERT STR05-C,STR30-C
M 405 Array index not unsigned. CERT ARR30-C
M 405 Value is not of appropriate type. : unsigned int int av [ i CERT INT01-C,INT02-C,INT07-C
M 405 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 405 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 405 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 407 function call with no prior declaration. CERT EXP37-C
M 407 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 408 Modification of string literal. CERT STR05-C,STR30-C
M 408 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 409 Modification of string literal. CERT STR05-C,STR30-C
M 409 Array index not unsigned. CERT ARR30-C
M 409 Value is not of appropriate type. : unsigned int int envp [ nenv CERT INT01-C,INT02-C,INT07-C
M 411 function call with no prior declaration. CERT EXP37-C
M 411 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 412 Modification of string literal. CERT STR05-C,STR30-C
M 412 Array index not unsigned. CERT ARR30-C
M 412 Value is not of appropriate type. : unsigned int int envp [ i CERT INT01-C,INT02-C,INT07-C
M 412 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 412 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 412 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 415 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 416 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 418 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 418 Array index not unsigned. CERT ARR30-C
M 418 Value is not of appropriate type. : unsigned int int printf ( " %d \"%s\"\n" , i , av [ i CERT INT01-C,INT02-C,INT07-C
M 419 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 421 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 421 Array index not unsigned. CERT ARR30-C
M 421 Value is not of appropriate type. : unsigned int int printf ( " %d \"%s\"\n" , i , envp [ i CERT INT01-C,INT02-C,INT07-C
M 424 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 424 function call with no prior declaration. CERT EXP37-C
M 427 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 430 function call with no prior declaration. CERT EXP37-C
M 430 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 431 function call with no prior declaration. CERT EXP37-C
M 431 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






dofork
(442 to 467 tasker.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 452 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 452 function call with no prior declaration. CERT EXP37-C
M 452 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 455 function call with no prior declaration. CERT EXP37-C
M 455 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 456 Deprecated usage of ++ or -- operators found. CERT EXP30-C,EXP31-C
M 456 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 457 function call with no prior declaration. CERT EXP37-C
M 457 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 457 Array index not unsigned. CERT ARR30-C
M 457 Value is not of appropriate type. : unsigned int int pvmputenv ( envp [ nenv CERT INT01-C,INT02-C,INT07-C
M 458 function call with no prior declaration. CERT EXP37-C
M 458 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 462 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]




Key to Terms


Standards violations for procedures are printed in tables with code markers as follows:


Code (Line) Violation Standard
M (Source line number) [Text of Mandatory standard] [Appropriate rule reference]
C   [Text of Checking standard]  
O   [Text of Optional standard]  
[Source: Text of line from Source file]


                         Checking standards are considered mandatory but individual instances may be overridden by adding annotations to the source code
                         Optional standards provide additional quality criteria but may be violated

                         For some standards violations, additional information is provided in results tables
                         Note that source lines do not show macro expansions

                         "Off" in Summary tables indicates that a standard is switched off in the pen.dat file
                         "MR" in Summary tables indicates a MISRA Restricted standard which cannot be checked without the MISRA licence option.


A summary is given of the pass/fail result of each program component as follows:


Components which pass all standards are marked: Pass
Components which fail only Optional standards are marked: Conditional Pass
Components which fail on insufficient comments only are marked: Comment FAIL
Components which violate Mandatory standards are marked: FAIL



Procedure Results table breakdown (Example Only)


Unique Violations    
     
65 - 150
35 - 39 -



                         The Violation density for a function is the number of violations per reformatted line, expressed as a percentage.
                         It is an indication of code quality.

                         Functions with a high violation density are likely to be smaller functions with a large number of violations.

                         Lower density may indicate larger functions with fewer violations.

                                        (nViols / nRefLines) x 100

                         where:

                                        nViols = number of standard violations in a function.

                         and:

                                        nRefLines = number of reformatted lines in a function.

                         The unique standards failure ratio is an indication of variety of standards violations in a module.

                         Thus a function containing one instance of several different standards will have a high ratio,
                         while a function that has violated only one standards will have a low ratio.


[ Top of Report | Procedure Table | Contents ]


End of Code Review Report

Copyright © 2009 Liverpool Data Research Associates